package org.zjx.data.screen;

import org.zjx.command.entity.screen.Room;
import org.zjx.data.BaseSceneBuilder;
import java.awt.*;

public class DaTangJingWaiSceneBuilder extends BaseSceneBuilder {

    @Override
    protected String getSceneName() {
        return "大唐境外";
    }

    @Override
    protected Dimension getSceneSize() {
        return new Dimension(638, 117);
    }

    @Override
    protected void addMonsters() {

    }

    @Override
    protected void addNpcs() {
        addNpc("驿站老板", new Point(205, 27), new Point(8, 66));
        addNpc("超级巫医", new Point(408, 13));
        addNpc("白衣人", new Point(233, 7));
        addNpc("少女", new Point(559, 104));
        addNpc("老太婆", new Point(536, 30));
        addNpc("老太爷", new Point(554, 10));
        addNpc("火焰山土地", new Point(238, 112));
        addNpc("云里雾", new Point(282, 5));
        addNpc("南赡部州土地", new Point(15, 84));
        addNpc("白鹿精", new Point(352, 3));
        addNpc("玉面狐狸", new Point(349, 5));
        addNpc("刘洪", new Point(592, 17));
        addNpc("李彪", new Point(587, 20));
        addNpc("二当家", new Point(608, 58));
        addNpc("大当家", new Point(140, 60));
        addNpc("土地公公", new Point(537, 88));
        addNpc("天篷元帅", new Point(633, 5));
        addNpc("姚太尉", new Point(322, 72));
        addNpc("阿紫", new Point(317, 71));
        addNpc("天兵飞剑", new Point(234, 57));
        addNpc("卷帘大将", new Point(245, 64));
        addNpc("张猎户", new Point(208, 102));
        addNpc("山贼头子", new Point(94, 90));
        addNpc("1号烽火台", new Point(544, 55));
        addNpc("2号烽火台", new Point(572, 43));
        addNpc("3号烽火台", new Point(614, 81));
        addNpc("蛤蟆怪", new Point(557, 53));
        addNpc("云游僧", new Point(350, 30));
        addNpc("水云仙", new Point(322, 98));
        addNpc("野猪王", new Point(483, 7));
        addNpc("偷尸鬼", new Point(576, 24));
        addNpc("牛将军", new Point(87, 77));
        addNpc("冤魂", new Point(602, 102));
        addNpc("强盗头极", new Point(562, 85));
    }

    @Override
    protected void addRooms() {
        // 高老庄大厅
        Room gaoLaoZhuangHall = createRoom("高老庄大厅", null);
        addNpcToRoom(gaoLaoZhuangHall, "高老先生", new Point(19, 11));
        rooms.add(gaoLaoZhuangHall);

        // 高小姐闺房
        Room gaoXiaoJieRoom = createRoom("高小姐闺房", null);
        addNpcToRoom(gaoXiaoJieRoom, "高小姐", new Point(12, 7));
        rooms.add(gaoXiaoJieRoom);
    }

    @Override
    protected void addTeleports() {
        // 场景传送点
        addSceneTeleport(new Point(633, 101), "大唐国境", new Point(10, 77), new Point(634, 104));
        addSceneTeleport(new Point(628, 75), "五庄观", new Point(7, 4), new Point(634, 78));
        addSceneTeleport(new Point(528, 113), "盘丝岭", new Point(187, 5), new Point(528, 115));
        addSceneTeleport(new Point(8, 49), "狮驼岭", new Point(118, 90), new Point(6, 49));
        addSceneTeleport(new Point(7, 62), "朱紫国", new Point(7, 4), new Point(8, 66));
        addSceneTeleport(new Point(58, 113), "魔王寨", new Point(12, 8), new Point(56, 115));
        addSceneTeleport(new Point(15, 26), "碗子山", new Point(78, 9), new Point(12, 28));

        // NPC传送点
        addNpcTeleport("驿站老板", new Point(203, 22), "长安城", new Point(363, 82), new Point(205, 27));
        addNpcTeleport("驿站老板", new Point(234, 111), "墨家村", new Point(79, 2), new Point(238, 112));
        addNpcTeleport("驿站老板", new Point(172, 91), "九黎城", new Point(96, 20), new Point(176, 91));
        addNpcTeleport("驿站老板", new Point(185, 8), "天机城", new Point(20, 15), new Point(190, 9));
        addNpcTeleport("驿站老板", new Point(49, 15), "长寿郊外", new Point(90, 15), new Point(52, 14));

        // 房间入口传送点
        addRoomTeleport(new Point(406, 55), "高老庄大厅", new Point(19, 11), new Point(408, 56));
        addRoomTeleport(new Point(453, 97), "高小姐闺房", new Point(12, 7), new Point(454, 99));
    }

    public static void main(String[] args) {
        DaTangJingWaiSceneBuilder builder = new DaTangJingWaiSceneBuilder();
        builder.execute("datang_jingwai_scene.json", "大唐境外");
    }
}